package com.tmxk.api.days02.gull;

import java.util.HashMap;
import java.util.Hashtable;

/**
 *  Hashtable 和 HashMap 区别
 *  1. HashMap是基于Hashtable在jdk1.2时衍生的实现类,都是 k-v(键值对数据存储的)
 *  2. HashMap是继承自Map接口, Hashtable是继承自Dictionary类
 *  3. HashMap是线程非安全的集合框架,Hashtable是线程安全的集合框架(但平时也不用)
 *  4. HashMap可以存储null值,Hashtable不可以,键值对都不可以
 *  5. HashMap的默认容量大小是16,Hashtable默认容量大小是11
 *  注: 如在高并发情况下,确保map集合数据存储的安全性,使用ConcurrentHashMap替换HashMap
 *
 */
public class HashtableDemo {
    public static void main(String[] args) {
        Hashtable<String,String> hashtable = new Hashtable<>();
        hashtable.put("10001","null");
        HashMap<String,String> hashMap = new HashMap<>();
        hashMap.put(null,null);

        System.out.println("hashtable:" + hashtable);
        System.out.println("hashMap:" + hashMap);
    }
}
